package com.eshop.modules.product.vo;

import java.util.LinkedHashMap;
import java.util.ArrayList;
import com.eshop.modules.product.domain.StoreProductAttrValue;
import java.util.Map;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;

public class ProductVo
{
    @ApiModelProperty("商品信息列表")
    private List<StoreProductQueryVo> goodList;
    @ApiModelProperty("商户ID，预留字段")
    private Integer merId;
    private String priceName;
    private List<StoreProductAttrQueryVo> productAttr;
    private Map<String, StoreProductAttrValue> productValue;
    @ApiModelProperty("评论信息")
    private StoreProductReplyQueryVo reply;
    @ApiModelProperty("回复渠道")
    private String replyChance;
    @ApiModelProperty("回复数")
    private Integer replyCount;
    private List similarity;
    @ApiModelProperty("商品信息")
    private StoreProductQueryVo storeInfo;
    @ApiModelProperty("腾讯地图key")
    private String mapKey;
    @ApiModelProperty("门店信息")
    private SystemStoreQueryVo systemStore;
    @ApiModelProperty("用户ID")
    private Integer uid;
    @ApiModelProperty("模版名称")
    private String tempName;
    
    public ProductVo() {
        this.goodList = new ArrayList<StoreProductQueryVo>();
        this.merId = 0;
        this.priceName = "";
        this.productAttr = new ArrayList<StoreProductAttrQueryVo>();
        this.productValue = new LinkedHashMap<String, StoreProductAttrValue>();
        this.replyCount = 0;
        this.similarity = new ArrayList();
        this.uid = 0;
    }
    
    public List<StoreProductQueryVo> getGoodList() {
        return this.goodList;
    }
    
    public Integer getMerId() {
        return this.merId;
    }
    
    public String getPriceName() {
        return this.priceName;
    }
    
    public List<StoreProductAttrQueryVo> getProductAttr() {
        return this.productAttr;
    }
    
    public Map<String, StoreProductAttrValue> getProductValue() {
        return this.productValue;
    }
    
    public StoreProductReplyQueryVo getReply() {
        return this.reply;
    }
    
    public String getReplyChance() {
        return this.replyChance;
    }
    
    public Integer getReplyCount() {
        return this.replyCount;
    }
    
    public List getSimilarity() {
        return this.similarity;
    }
    
    public StoreProductQueryVo getStoreInfo() {
        return this.storeInfo;
    }
    
    public String getMapKey() {
        return this.mapKey;
    }
    
    public SystemStoreQueryVo getSystemStore() {
        return this.systemStore;
    }
    
    public Integer getUid() {
        return this.uid;
    }
    
    public String getTempName() {
        return this.tempName;
    }
    
    public void setGoodList(final List<StoreProductQueryVo> goodList) {
        this.goodList = goodList;
    }
    
    public void setMerId(final Integer merId) {
        this.merId = merId;
    }
    
    public void setPriceName(final String priceName) {
        this.priceName = priceName;
    }
    
    public void setProductAttr(final List<StoreProductAttrQueryVo> productAttr) {
        this.productAttr = productAttr;
    }
    
    public void setProductValue(final Map<String, StoreProductAttrValue> productValue) {
        this.productValue = productValue;
    }
    
    public void setReply(final StoreProductReplyQueryVo reply) {
        this.reply = reply;
    }
    
    public void setReplyChance(final String replyChance) {
        this.replyChance = replyChance;
    }
    
    public void setReplyCount(final Integer replyCount) {
        this.replyCount = replyCount;
    }
    
    public void setSimilarity(final List similarity) {
        this.similarity = similarity;
    }
    
    public void setStoreInfo(final StoreProductQueryVo storeInfo) {
        this.storeInfo = storeInfo;
    }
    
    public void setMapKey(final String mapKey) {
        this.mapKey = mapKey;
    }
    
    public void setSystemStore(final SystemStoreQueryVo systemStore) {
        this.systemStore = systemStore;
    }
    
    public void setUid(final Integer uid) {
        this.uid = uid;
    }
    
    public void setTempName(final String tempName) {
        this.tempName = tempName;
    }
    
    @Override
    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof ProductVo)) {
            return false;
        }
        final ProductVo other = (ProductVo)o;
        if (!other.canEqual(this)) {
            return false;
        }
        final Object this$merId = this.getMerId();
        final Object other$merId = other.getMerId();
        Label_0065: {
            if (this$merId == null) {
                if (other$merId == null) {
                    break Label_0065;
                }
            }
            else if (this$merId.equals(other$merId)) {
                break Label_0065;
            }
            return false;
        }
        final Object this$replyCount = this.getReplyCount();
        final Object other$replyCount = other.getReplyCount();
        Label_0102: {
            if (this$replyCount == null) {
                if (other$replyCount == null) {
                    break Label_0102;
                }
            }
            else if (this$replyCount.equals(other$replyCount)) {
                break Label_0102;
            }
            return false;
        }
        final Object this$uid = this.getUid();
        final Object other$uid = other.getUid();
        Label_0139: {
            if (this$uid == null) {
                if (other$uid == null) {
                    break Label_0139;
                }
            }
            else if (this$uid.equals(other$uid)) {
                break Label_0139;
            }
            return false;
        }
        final Object this$goodList = this.getGoodList();
        final Object other$goodList = other.getGoodList();
        Label_0176: {
            if (this$goodList == null) {
                if (other$goodList == null) {
                    break Label_0176;
                }
            }
            else if (this$goodList.equals(other$goodList)) {
                break Label_0176;
            }
            return false;
        }
        final Object this$priceName = this.getPriceName();
        final Object other$priceName = other.getPriceName();
        Label_0213: {
            if (this$priceName == null) {
                if (other$priceName == null) {
                    break Label_0213;
                }
            }
            else if (this$priceName.equals(other$priceName)) {
                break Label_0213;
            }
            return false;
        }
        final Object this$productAttr = this.getProductAttr();
        final Object other$productAttr = other.getProductAttr();
        Label_0250: {
            if (this$productAttr == null) {
                if (other$productAttr == null) {
                    break Label_0250;
                }
            }
            else if (this$productAttr.equals(other$productAttr)) {
                break Label_0250;
            }
            return false;
        }
        final Object this$productValue = this.getProductValue();
        final Object other$productValue = other.getProductValue();
        Label_0287: {
            if (this$productValue == null) {
                if (other$productValue == null) {
                    break Label_0287;
                }
            }
            else if (this$productValue.equals(other$productValue)) {
                break Label_0287;
            }
            return false;
        }
        final Object this$reply = this.getReply();
        final Object other$reply = other.getReply();
        Label_0324: {
            if (this$reply == null) {
                if (other$reply == null) {
                    break Label_0324;
                }
            }
            else if (this$reply.equals(other$reply)) {
                break Label_0324;
            }
            return false;
        }
        final Object this$replyChance = this.getReplyChance();
        final Object other$replyChance = other.getReplyChance();
        Label_0361: {
            if (this$replyChance == null) {
                if (other$replyChance == null) {
                    break Label_0361;
                }
            }
            else if (this$replyChance.equals(other$replyChance)) {
                break Label_0361;
            }
            return false;
        }
        final Object this$similarity = this.getSimilarity();
        final Object other$similarity = other.getSimilarity();
        Label_0398: {
            if (this$similarity == null) {
                if (other$similarity == null) {
                    break Label_0398;
                }
            }
            else if (this$similarity.equals(other$similarity)) {
                break Label_0398;
            }
            return false;
        }
        final Object this$storeInfo = this.getStoreInfo();
        final Object other$storeInfo = other.getStoreInfo();
        Label_0435: {
            if (this$storeInfo == null) {
                if (other$storeInfo == null) {
                    break Label_0435;
                }
            }
            else if (this$storeInfo.equals(other$storeInfo)) {
                break Label_0435;
            }
            return false;
        }
        final Object this$mapKey = this.getMapKey();
        final Object other$mapKey = other.getMapKey();
        Label_0472: {
            if (this$mapKey == null) {
                if (other$mapKey == null) {
                    break Label_0472;
                }
            }
            else if (this$mapKey.equals(other$mapKey)) {
                break Label_0472;
            }
            return false;
        }
        final Object this$systemStore = this.getSystemStore();
        final Object other$systemStore = other.getSystemStore();
        Label_0509: {
            if (this$systemStore == null) {
                if (other$systemStore == null) {
                    break Label_0509;
                }
            }
            else if (this$systemStore.equals(other$systemStore)) {
                break Label_0509;
            }
            return false;
        }
        final Object this$tempName = this.getTempName();
        final Object other$tempName = other.getTempName();
        if (this$tempName == null) {
            if (other$tempName == null) {
                return true;
            }
        }
        else if (this$tempName.equals(other$tempName)) {
            return true;
        }
        return false;
    }
    
    protected boolean canEqual(final Object other) {
        return other instanceof ProductVo;
    }
    
    @Override
    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $merId = this.getMerId();
        result = result * 59 + (($merId == null) ? 43 : $merId.hashCode());
        final Object $replyCount = this.getReplyCount();
        result = result * 59 + (($replyCount == null) ? 43 : $replyCount.hashCode());
        final Object $uid = this.getUid();
        result = result * 59 + (($uid == null) ? 43 : $uid.hashCode());
        final Object $goodList = this.getGoodList();
        result = result * 59 + (($goodList == null) ? 43 : $goodList.hashCode());
        final Object $priceName = this.getPriceName();
        result = result * 59 + (($priceName == null) ? 43 : $priceName.hashCode());
        final Object $productAttr = this.getProductAttr();
        result = result * 59 + (($productAttr == null) ? 43 : $productAttr.hashCode());
        final Object $productValue = this.getProductValue();
        result = result * 59 + (($productValue == null) ? 43 : $productValue.hashCode());
        final Object $reply = this.getReply();
        result = result * 59 + (($reply == null) ? 43 : $reply.hashCode());
        final Object $replyChance = this.getReplyChance();
        result = result * 59 + (($replyChance == null) ? 43 : $replyChance.hashCode());
        final Object $similarity = this.getSimilarity();
        result = result * 59 + (($similarity == null) ? 43 : $similarity.hashCode());
        final Object $storeInfo = this.getStoreInfo();
        result = result * 59 + (($storeInfo == null) ? 43 : $storeInfo.hashCode());
        final Object $mapKey = this.getMapKey();
        result = result * 59 + (($mapKey == null) ? 43 : $mapKey.hashCode());
        final Object $systemStore = this.getSystemStore();
        result = result * 59 + (($systemStore == null) ? 43 : $systemStore.hashCode());
        final Object $tempName = this.getTempName();
        result = result * 59 + (($tempName == null) ? 43 : $tempName.hashCode());
        return result;
    }
    
    @Override
    public String toString() {
        return "ProductVo(goodList=" + this.getGoodList() + ", merId=" + this.getMerId() + ", priceName=" + this.getPriceName() + ", productAttr=" + this.getProductAttr() + ", productValue=" + this.getProductValue() + ", reply=" + this.getReply() + ", replyChance=" + this.getReplyChance() + ", replyCount=" + this.getReplyCount() + ", similarity=" + this.getSimilarity() + ", storeInfo=" + this.getStoreInfo() + ", mapKey=" + this.getMapKey() + ", systemStore=" + this.getSystemStore() + ", uid=" + this.getUid() + ", tempName=" + this.getTempName() + ")";
    }
}
